#ifndef __MEMORY_H__
#define __MEMORY_H__
#ifdef _WIN32
#include <windows.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif

void*	ut_malloc_rel(size_t size);
void*	ut_malloc_dbg(size_t size, const char *file, int line);
void	ut_free(void* ptr);

#ifdef _DEBUG

#define ut_malloc(size)		ut_malloc_dbg((size), __FILE__, __LINE__)

int		ut_GetMaxMemAllocatedSegmentCnt();
int		ut_GetMaxMemAllocatedSize();

#else

#define ut_malloc(size)		ut_malloc_rel((size))

#endif

void mem_test_reallocate();
void mem_test_get_max_mem_size();

#ifdef __cplusplus
}
#endif

#endif
